var newsId = null;
var editor = null;

$(function(){
	getParams();
})

function getParams(){
	var id = $.query.get("id");
	var url = window.location.href;
	if(url.indexOf('operateNews.html') != -1){
		if(id){
			var st = new String(id.replace(/\s/g, "+"), 'utf-8');
			newsId = decryptCode(st.toString());
			getNewsInfo(newsId);
		} else {
			getNewsType();
		}
		initEditor();
	} else {
		getNewsType();
		queryNewsList();
	}
}

function initEditor(){
	var E = window.wangEditor
    editor = new E('#txtDiv') // 两个参数也可以传入 elem 对象，class 选择器
	//开启debug模式
    editor.customConfig.debug = true;
    // 关闭粘贴内容中的样式
    editor.customConfig.pasteFilterStyle = false
    // 忽略粘贴内容中的图片
    editor.customConfig.pasteIgnoreImg = true
    // 使用 base64 保存图片
    //editor.customConfig.uploadImgShowBase64 = true
    // 上传图片到服务器
    editor.customConfig.uploadImgHeaders = {
    	'Accept': 'text/x-json'
	}
    editor.customConfig.uploadImgParams = {
    	'token' : token
    }
    editor.customConfig.uploadFileName = 'file'; //设置文件上传的参数名称
    editor.customConfig.uploadImgServer = '/manage/file/upload'; //设置上传文件的服务器路径
    editor.customConfig.uploadImgMaxSize = 3 * 1024 * 1024; // 将图片大小限制为 3M
    //自定义上传图片事件
    editor.customConfig.uploadImgHooks = {
        before: function(xhr, editor, files) {

        },
        success: function(xhr, editor, result) {
            console.log("上传成功");
        },
        fail: function(xhr, editor, result) {
            console.log("上传失败,原因是" + result);
            art.dialog({
            	icon : 'warning',
            	time : 2,
            	content : '登陆失效，请重新登陆！'
            });
            setTimeout(function(){
				window.location.href = 'login.html';
			},2000);
        },
        error: function(xhr, editor) {
            console.log("上传出错");
        },
        timeout: function(xhr, editor) {
            console.log("上传超时");
        },
        customInsert: function (insertImg, result, editor) {
            // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
            // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

            // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
            var url = result.data.imgUrl
            insertImg(url)
            // result 必须是一个 JSON 格式字符串！！！否则报错
        }
    }
    editor.create()
}

function getNewsType(){
	$.ajax({
		headers:{
			token : token
		},
		url : '/newstype/list',
		data : {},
		type : 'post',
		success : function(resp){
			if(resp.success){
				$("#news_type").empty();
				$("#news_type").append('<option value="-1">--请选择--</option>');
				$.each(resp.data,function(i,data){
					$("#news_type").append('<option value="' + data.id + '">' + data.newsType + '</option>');
				})
			}else if(resp.code == 1006){
				window.location.href="login.html";
			}else{
				art.dialog({
					icon : 'error',
					time : 2,
					content : resp.msg
				});
			}
		}
	});
}

/**
 * 新闻列表
 */
function queryNewsList() {
	$("#gridTable").dataTable({
		ajax : {
			headers:{
				token : token
			},
			type : 'post',
			url : '/news/page/list',
			data : {
				
			},
			//用于处理服务器端返回的数据。 dataSrc是DataTable特有的
            dataSrc: function (resp) {
                var count = resp.recordsTotal;
                $("#dataTotal").text('行业新闻（' + count + '）');
                return resp.data;
            }
		},
		autoWidth : false,
		bServerSide : true,
		bPaginate : true,
		bLengthChange : false,
		iDisplayLength : 5,
		processing : true,
		searching : false,
		info : false,
		ordering : false,
		paging : true,
		columns : [
				{
					render : function(data, type, row, meta) {
						return meta.row + 1;
					},
				},
				{
					render : function(data, type, row, meta) {
						var r = "-";
						if (null == row.newsType.newsType
								|| "" == row.newsType.newsType) {
							r = "-";
						} else {
							r = row.newsType.newsType;
						}
						return r;
					},
				},
				{
					render : function(data, type, row, meta) {
						var r = "-";
						if (null == row.path
								|| "" == row.path) {
							r = "-";
						} else {
							r = '<img style="width:200px;height:100px;" src=\"' + row.path + '\" alt="">';
						}
						return r;
					},
				},
				{
					render : function(data, type, row, meta) {
						var r = "-";
						if (null == row.title
								|| "" == row.title) {
							r = "-";
						} else {
							r = row.title;
						}
						return r;
					},
				},
				{
					render : function(data, type, row, meta) {
						var r = "-";
						if (null == row.content
								|| "" == row.content) {
							r = "-";
						} else {
							r = row.content.replace(/<(style|script|iframe)[^>]*?>[\s\S]+?<\/\1\s*>/gi,'').replace(/<[^>]+?>/g,'').replace(/\s+/g,' ').replace(/ /g,' ').replace(/>/g,' ')
							.substring(0,30)
							 + "...";
						}
						return r;
					},
				},
				{
					render : function(data, type, row, meta) {
						var r = "-";
						if (null == row.createTime
								|| "" == row.createTime) {
							r = "-";
						} else {
							r = row.createTime;
						}
						return r;
					},
				},
				{
					render : function(data, type, row, meta) {
						var str = "<div class=\"bgfdf7ee\"><div class=\"edit-del\">";
						str += "<div class=\"edit\" onclick=\"updateNews('" + encryptStr(row.id) + "');\"></div>";
						str += "<div class=\"del\" onclick=\"deleteNews('" + encryptStr(row.id) + "');\"></div></div></div>";
						return str;
					},
				}],
		language : {
			emptyTable : '暂无数据',
			processing : '查询中',
			paginate : {
				previous : '上一页',
				next : '下一页'
			}
		}
	});
}

function updateNews(id){
	window.location.href = "operateNews.html?id=" + id;
}

function deleteNews(id){
	$("#delete_id").val(id);
	$(this).parents(".del-confirm-cover").hide();
}

/**
 * 根据条件查询
 */
function query() {
	var oSettings = $("#gridTable").dataTable().fnSettings();
	oSettings.ajax.data.title = $.trim($("#title").val());
	//oSettings._iDisplayLength = 50;动态设置一页显示码数
	$("#gridTable").dataTable().fnDraw(oSettings);
}

function saveNewsInfo(){
	var news_type = $("#news_type").val();
	if(news_type == '-1'){
		art.dialog({
			icon : 'warning',
			time : 2,
			content : '请填写新闻类型！'
		})
		$("#news_type").focus();
		return;
	}
	var keyWord = $("#keyWord").val();
	if(keyWord == ''){
		art.dialog({
			icon : 'warning',
			time : 2,
			content : '请填写新闻关键字！'
		})
		$("#keyWord").focus();
		return;
	}
	var title = $("#title").val();
	if(title == ''){
		art.dialog({
			icon : 'warning',
			time : 2,
			content : '请填写新闻标题！'
		})
		$("#title").focus();
		return;
	}
	var img_path = $("#imgs").val();
	if(img_path == ''){
		art.dialog({
			icon : 'warning',
			time : 2,
			content : '请选择上传图片！'
		})
		$("#img_path").focus();
		return;
	}
	var content = editor.txt.html();
	if(content == ''){
		art.dialog({
			icon : 'warning',
			time : 2,
			content : '请填写新闻内容！'
		})
		$("#content").focus();
		return;
	}
	var datas = {
		id: newsId,
		keyWord : keyWord,
		newsType : news_type,
		title : title,
		imgPath : img_path,
		content : content
	}
	$.ajax({
		headers : {
			token : token
		},
		url : '/news/operate',
		data : datas,
		type : 'post',
		success : function(data){
			if(data.success){
				art.dialog({
					icon : 'succeed',
					time : 2,
					content : data.msg
				});
				setTimeout(function(){
					window.location.href = 'news.html';
				},2000);
			}else if(data.code == 1006){
				window.location.href="login.html";
			}else{
				art.dialog({
					icon : 'error',
					time : 2,
					content : data.msg
				});
			}
		}
	});
}

function getNewsInfo(id){
	var datas = {
		id : id
	}
	$.ajax({
		headers : {
			token : token
		},
		url : '/news/info',
		data : datas,
		type : 'post',
		success : function(resp){
			if(resp.success){
				var info = resp.data.info;
				$("#type").val(info.type);
				$("#type_info").val(info.typeInfo);
				$("#title").val(info.title);
				$("#keyWord").val(info.keyWord);
				editor.txt.html(info.content);
				$("#img_path").html('');
				if(info.imgPath){
					var imgPath = info.imgPath;
					var index = imgPath.lastIndexOf("/") + 1;
					$("#fileName").val(imgPath.substring(index,imgPath.length));
					$("#img_path").append('<img alt="" style="width:195px;height:110px;" src="' + info.path + '">');
					$("#img_path").append('<input type="hidden" id="imgs" value="' + info.imgPath + '">');
				}
				$("#news_type").empty();
				$("#news_type").append('<option value="-1">--请选择--</option>');
				$.each(resp.data.type,function(i,data){
					if(info.newsTypeId == data.id){
						$("#news_type").append('<option value="' + data.id + '" selected="selected">' + data.newsType + '</option>');
					} else {
						$("#news_type").append('<option value="' + data.id + '">' + data.newsType + '</option>');
					}
				})
			}else if(resp.code == 1006){
				window.location.href="login.html";
			}else{
				art.dialog({
					icon : 'error',
					time : 2,
					content : resp.msg
				});
			}
		}
	});
}

